package com.ztom.v2;

import java.util.ArrayList;
import java.util.List;

/**
 * @author ZhangTao
 */
public class Code82PascalTriangle {

    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> res = new ArrayList<>();
        for (int i = 0; i < numRows; i++) {
            res.add(new ArrayList<>());
        }
        for (int r = 0; r < numRows; r++) {
            for (int c = 0; c <= r; c++) {
                if (c == 0 || c == r) {
                    res.get(r).add(1);
                } else {
                    // (r - 1, c - 1) + (c - 1, r)
                    res.get(r).add(
                            res.get(r - 1).get(c - 1)
                                    + res.get(r - 1).get(c)
                    );
                }
            }
        }
        return res;
    }
}
